package net.qujoy.java8.lambda;

/**
 * 可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式：它没有名称，但它
 * 有参数列表、函数主体、返回类型，可能还有一个可以抛出的异常列表。
 */
public class PageInfo {

    /**
     * 可以在函数式接口上使用Lambda表达式。
     * 函数式接口就是只定义一个抽象方法的接口。
     */

    /**
     * 接口现在还可以拥有默认方法（即在类没有对方法进行实现时，其主体为方法提供默认实现的方法）。
     * 哪怕有很多默认方法，只要接口只定义了一个抽象方法，它就仍然是一个函数式接口。
     */

    /**
     * 如果一个Lambda的主体是一个语句表达式， 它就和一个返回void的函数描述符兼容（当
     然需要参数列表也兼容）。例如，以下两行都是合法的，尽管List的add方法返回了一个
     boolean，而不是Consumer上下文（T -> void）所要求的void：
     // Predicate返回了一个boolean
     Predicate<String> p = s -> list.add(s);
     // Consumer返回了一个void
     Consumer<String> b = s -> list.add(s);
     */
}
